<?php
/**
 * [PHPFOX_HEADER]
 */

defined('PHPFOX') or exit('NO DICE!');

/**
 *
 *
 * @copyright        [PHPFOX_COPYRIGHT]
 * @author          Raymond_Benc
 * @package         Phpfox_Service
 * @version         $Id: service.class.php 67 2009-01-20 11:32:45Z Raymond_Benc $
 */
class Answer_Service_Browse extends Phpfox_Service
{
    /**
     * Class constructor
     */
    public function __construct()
    {
        $this->_sTable = Phpfox::getT('question');
    }

    public function processRows(&$aRows)
    {
        foreach ($aRows as $iKey => $aRow) {
            $aRows[$iKey]['link'] = Phpfox::getLib('url')->makeUrl('answer.question', array('id' => $aRow['id']));
            $aRows[$iKey]['answer'] = Phpfox::getService('answer.answer')->getTotal($aRow['id']);
            $aRows[$iKey]['point'] = Phpfox::getService('answer.point')->getPoint($aRow['user_id']);
            $aRows[$iKey]['label'] = Phpfox::getService('answer.level')->getLabel($aRow['user_id']);
            $aLike = Phpfox::getService('like')->getLikes('answer', $aRow['id']);
            if (count($aLike) > 0) {
                $aRows[$iKey]['isLiked'] = true;
            } else {
                $aRows[$iKey]['isLiked'] = false;
            }
            $aRows[$iKey]['aFeed'] = array(
                'feed_display' => 'mini',
                //'comment_type_id' => 'answer',
                'privacy' => "",
                //'comment_privacy' => "",
                'like_type_id' => 'answer',
                'feed_is_liked' => $aRows[$iKey]['isLiked'],
                'feed_is_friend' => false,
                'item_id' => $aRow['id'],
                'user_id' => $aRow['user_id'],
                //'total_comment' => 0,
                'feed_total_like' => count($aLike),
                'total_like' => count($aLike),
                'feed_link' => "#",
                'feed_title' => $aRow['title']
            );
        }
    }

    public function query()
    {
        $this->database()->select('pc.name AS category_name, ')->leftJoin(Phpfox::getT('brodev_answer_category'), 'pc', 'pc.id = q.category_id');
        $this->database()->select('u.user_image AS image,  ');

    }

    public function getQueryJoins($bIsCount = false, $bNoQueryFriend = false)
    {

    }

    /**
     * If a call is made to an unknown method attempt to connect
     * it to a specific plug-in with the same name thus allowing
     * plug-in developers the ability to extend classes.
     *
     * @param string $sMethod is the name of the method
     * @param array $aArguments is the array of arguments of being passed
     */
    public function __call($sMethod, $aArguments)
    {
        /**
         * Check if such a plug-in exists and if it does call it.
         */
        if ($sPlugin = Phpfox_Plugin::get('pages.service_browse__call')) {
            eval($sPlugin);
            return;
        }

        /**
         * No method or plug-in found we must throw a error.
         */
        Phpfox_Error::trigger('Call to undefined method ' . __CLASS__ . '::' . $sMethod . '()', E_USER_ERROR);
    }
}

?>